Systems and Methods For Generating Textiles With Repeating Patterns

ABSTRACT

Systems and methods generating textiles with repeating design elements based at least in part on Voronoi diagrams are provided. In one example implementation, the method can include generating a plurality of seed points in a graphic area. The seed points are utilized to create a Voronoi diagram. A Voronoi diagram is thereafter propagated within the graphic area based upon the seed points. The method also includes receiving a first user input defining a design area. The design area includes a plurality of boundaries within the graphic area. The design area is then correlated to a textile segment and a textile design is generated by replicating the cells in the design area. The cells that intersect the boundaries of the design area are replicated with identical instances placed at the adjacent sides of the design area and the corners of the design area.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/385,065, entitled “Systems and Methods ForGenerating Textiles With Repeating Patterns,” which was filed on Apr.16, 2019, which claims priority to U.S. Provisional Patent ApplicationNo. 62/661,169, entitled “Systems and Methods For Generating TextilesWith Repeating Patterns,” which was filed on Apr. 23, 2018, both ofwhich are entirely incorporated by reference herein.

FIELD

The present disclosure relates generally to systems and methods forgenerating textiles with repeating patterns or design elements.

BACKGROUND

Textiles can be important building components or design elements thatare frequently relied upon to unify, define and enhance a specificinterior building design concept. Repeating patterns can be applied toor incorporated into textiles, textile segments (i.e., textile pieces)or other interior building components or design elements, such asflooring, drapery, ceiling tiles, wall coverings, and furnitureupholstery. For instance, floor coverings can be utilized to defineareas within an open floor plan and can also be utilized to unify spacesin divided or compartmentalized floor plans. Modular floor coverings ormodular carpeting (e.g., a textile segment, carpet tiles, panels orsquares) has become a product that is commonly utilized by interiordesigners, manufacturers and building owners, particularly in commercialspaces. In some instances, modular carpeting is used because it ispossible to mimic the appearance of conventional broadloom carpetingbut, at the same time, provide practical means by which localizedportions of the carpeting can be easily removed to access under-floorbuilding components (e.g., under-floor cable trays, other wiring andplumbing) or can be easily replaced in the event of damage, excessivewear, staining and the like.

Utilizing modular floor coverings can be more convenient for buildingowners or on-site building maintenance staff in that modular floorcoverings offer easier, less labor intensive and less costlytransportation and maintenance options. Modular floor coverings can bemanufactured in a variety of sizes, such that modular flooring can beeasily transported, installed and stored so that the modular floorcoverings can be easily removed, replaced and repaired. Modular floorcoverings can be delivered in smaller, more fuel efficient vehicles and,due to smaller dimensions, can be easier to maneuver into spaces, suchas through tight doorways or hallways, where rolls of floor coveringsoften present a challenge for transportation. Additionally, in manysituations modular floor covering maintenance, repair or replacement canbe performed by a single employee or maintenance staff member.

BRIEF DESCRIPTION

Aspects and advantages of embodiments of the present disclosure will beset forth in part in the following description, or may be learned fromthe description, or may be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to a method forgenerating designs for textiles. The method includes generating, by oneor more computing devices, a plurality of seed points in a graphic area.The method includes propagating, by the one or more computing devices, aVoronoi diagram within the graphic area based upon the seed points. Thepropagated Voronoi diagram includes a plurality of cells. The methodincludes providing, by the one or more computing devices, the Voronoidiagram for display within a user interface and receiving, using the oneor more computing devices, a first user input via the user interface.The first user input defines a design area with a plurality ofboundaries within the graphic area and the design area includes asub-set of the plurality of cells. The method includes correlating,using the one or more computing devices, the design area to a textilesegment and generating, using the one or more computing devices, atextile design, using the one or more computing devices, by replicatingthe cells of the design area.

Another example aspect of the present disclosure is directed to a systemfor providing textile designs utilizing Voronoi diagrams. The systemincludes one or more processors and a machine-readable medium storingcomputer-readable instructions, which when executed by the processors,cause the processors to perform operations. The operations performed bythe processors include generating a plurality of seed points in agraphic area and propagating a Voronoi diagram within the graphic areabased upon the seed points. The propagated Voronoi diagram includes aplurality of cells. The operations performed by the processors includereceiving a first user input via a user interface defining a design areawith a plurality of boundaries within the graphic area. The design areaincludes a sub-set of the plurality of cells. The operations performedby the processors include correlating the design area to a textilesegment and generating a textile design, using the one or more computingdevices, by replicating the cells of the design area.

Another example aspect of the present disclosure is directed to amachine-readable medium storing computer-readable instructions, whichwhen executed by a machine, cause the machine to perform operations. Theoperations performed by the machine include generating, using the one ormore computing devices, a plurality of seed points in the graphic area.The operations performed by the machine include propagating a Voronoidiagram within the graphic area based upon the seed points. The Voronoidiagram includes a plurality of cells. The operations performed by themachine include providing the Voronoi diagram for display on a userinterface. The operations performed by the machine include receiving auser input via the user interface. The user input defines a design areawith a plurality of boundaries within the graphic area. The design areacorresponds to a floor covering tile. The operations performed by themachine include generating a floor covering design by replicating theVoronoi cells contained in the design area.

Variations and modifications can be made to these example aspects of thepresent disclosure. These and other features, aspects and advantages ofvarious embodiments will become better understood with reference to thefollowing description and appended claims. The accompanying drawings,which are incorporated in and constitute a part of this specification,illustrate embodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art are set forth in the specification, which makes reference to theappended figures, in which:

FIG. 1 depicts an example two-dimensional Voronoi diagram.

FIG. 2 depicts a flow diagram of an example method for generatingtextiles with repeating patterns utilizing Voronoi diagrams according toexample embodiments of the present disclosure.

FIG. 3A depicts a screenshot of a first configuration of an example userinterface for systems and methods for generating textiles with repeatingpatterns utilizing Voronoi diagrams according to example embodiments ofthe present disclosure.

FIG. 3B depicts a screenshot of a second configuration of the exampleuser interface of FIG. 3A for systems and methods for generatingtextiles with repeating patterns utilizing Voronoi diagrams according toexample embodiments of the present disclosure.

FIG. 4 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 5 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 6 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 7 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 8 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 9 depicts a screenshot of an example user interface for systems andmethods for generating textiles with repeating patterns utilizingVoronoi diagrams according to example embodiments of the presentdisclosure.

FIG. 10 depicts a screenshot of an example user interface for systemsand methods for generating textiles with repeating patterns utilizingDelaunay triangles according to example embodiments of the presentdisclosure.

FIG. 11 depicts an example system according to example embodiments ofthe present disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments of the disclosure,one or more examples of which are illustrated in the drawings. Eachexample is provided by way of explanation of the disclosure, notlimitation of the disclosure. In fact, it will be apparent to thoseskilled in the art that various modifications and variations can be madein the present disclosure without departing from the scope or spirit ofthe disclosure. For instance, features illustrated or described as partof one embodiment can be used with another embodiment to yield a stillfurther embodiment. Thus, it is intended that the present disclosurecovers such modifications and variations as come within the scope of theappended claims and their equivalents.

Example aspects of the present disclosure are directed to systems andmethods for generating textiles with repeating patterns. In someembodiments Voronoi diagrams are utilized to generate textiles withrepeating patterns. Voronoi diagrams provide designers with greaterflexibility and ease with which to create organic or natural designs.More specifically, because a Voronoi pattern mimics nature's tendenciesfor organization and position, Voronoi diagrams can be used to createpatterns or designs with textiles which appear to be based upon,resemble or mimic natural or organic patterns or designs. However, sincea Voronoi diagram is based on mathematical technologies, the systems andmethods of the present disclosure provide designers or users with theability to create unique or individual designs for textiles withrepeating patterns, such as modular floor coverings that tile or repeat,and which result in an innovative modular product with an organic designthat is comparable with geometries occurring as expected in nature.Repeating patterns can be applied to or incorporated into nearly anytextile or other interior building component or design element, such asflooring, drapery, ceiling tiles, wall coverings, and furnitureupholstery. For illustrative purposes, some embodiments of the presentdisclosure will be illustrated in the context of systems and methods forgenerating textiles for use as floor coverings (i.e. carpet, carpettiles or another modular flooring system) with repeating patterns.However, the present disclosure is not limited to any particular textileproduct unless recited in the claims, and embodiments of the presentdisclosure may be suitably adapted for use with other textiles orbuilding components, such as flooring, drapery, ceiling tiles, wallcoverings, and furniture upholstery or virtually any other textile thatwould benefit from or could be used or manufactured with repeatingpatterns.

Floor coverings can be utilized by designers and building owners asdesign elements. For example, floor coverings can be used to unify,define and enhance a specific interior design concept. Modular floorcoverings or modular carpeting (i.e., carpet tiles, panels or squares)are frequently used and have a number of known advantages (i.e., ease ofinstallation, maintenance, repair, replacement, transport, storage,durability and versatility). Some difficulties and disadvantages can berecognized when modular floor coverings are used. For instance, theseams of modular floor coverings can be more easily seen when comparedto wall-to-wall floor coverings, such as carpet rolls. Without carefulinstallation the seams of modular floor coverings can appear uneven. Oneof the most common objections or difficulties with utilizing modularflooring is that after installation it can be apparent that the finishedinstallation contains modular flooring and not a wall-to-wall floorcovering.

The challenges and disadvantages of modular floor coverings can bereduced through the use of particular decorative patterns or designs onthe modular floor coverings. Certain patterns or designs can be usedsuch that they offer the capability of achieving more precise designregistration and continuity between pieces or tiles that make up amodular floor covering system. This means certain patterns or designscan be used to reduce the visible difference between one tile or pieceof modular flooring and the next. Patterns and designs can be used todisguise seams or divisions between tiles or pieces of a modular floorcovering system.

Organic designs can be forgiving and capable of disguising seamdivisions between tiles or pieces of a modular floor covering system.Customers and manufacturers seeking to camouflage seams or joints in amodular floor covering system may find organic patterns or designs forthe modular floor covering system advantageous. However, organicdesigns, which are based on configurations or relationships occurring innature, often appear chaotic, inconsistent, random and are not easilyreplicated. Organic designs can provide an innovative modular floorcovering product that allows designers and manufacturers to createunique design layouts. However, organic designs cannot be easilygenerated using the standard geometric or mathematical shapescustomarily associated with modular floor covering tiles or pieces.

Accordingly, the systems and methods of the present disclosure, whichprovide designers and manufacturers with the ability to design andcreate modular floor covering systems, including carpet pieces or tiles,with features incorporating organic or natural design elements that canbe incorporated into standard geometric floor covering tiles or piecesand that can repeat from tile-to-tile would be useful and welcomed.

Example aspects of the present disclosure are directed to systems andmethods for generating repeating textile segments, such as floorcoverings or tiles. In some embodiments Voronoi diagrams are utilized togenerate floor coverings. Voronoi diagrams can be used in manydisciplines in science and engineering. A Voronoi diagram is apartitioning of a plane into regions based on distance to a set ofpoints in a specific subset of the plane. That set of points (calledseeds, sites, nucleation points or generators) is specified by a user oris otherwise predetermined. For each seed there is a correspondingregion consisting of all points closer to that seed than to any otherseed. Each of these regions is a cell. The lines separating and formingeach cell are always halfway between neighboring seeds. All of the cellsare convex polygons formed by the cell lines. The Voronoi diagram is thepattern of convex polygons resulting from the intersection of the celllines. A Delaunay triangle is the geometric dual of a Voronoi diagramand can also be formed from the seeds. A Delaunay triangle is formedwhen the seed or nucleation points become the vertices of one or moretriangles within the given area or plane.

Voronoi diagrams have practical and theoretical applications to a largenumber of fields, including science, technology and visual art. This isbecause a Voronoi pattern reflects nature's tendency to favorefficiency, such as the nearest neighbor, shortest path and tightestfit. Examples of Voronoi patterns in nature are the skin of a giraffe,corn on the cob, honeycombs, foam bubbles, the cells of a leaf and ahead of garlic. As such, Voronoi diagrams can be used to model a numberof different biological structures, including cells and bonemicroarchitecture. Indeed, Voronoi tessellations work as a geometrictool to understand the physical constraints that drive the organizationof biological tissues. Voronoi diagrams can also be used to study orreplicate the growth patterns of forests and forest canopies. In thisway, patterning or designing with Voronoi diagrams can be used to bridgethe gap between nature and man-made patterns or patterns based onmathematical technologies and permit designers and manufacturers toprovide an innovative modular product with an organic design that iscomparable with geometries occurring as expected in nature.

Biophilic design is the practice of incorporating elements of natureinto interior design. Biophilic design seeks to connect the inherentneeds of humans to affiliate with nature in the modern builtenvironment. Biophilic design focuses on those aspects of the naturalworld that have contributed to human health and productivity.Incorporating direct or indirect elements of nature into built orman-made environments have been demonstrated to reduce stress, bloodpressure levels and heart rates, whilst increasing productivity andcreativity. Biophilic design can be incorporated through use of naturalor organic materials, textures, patterns and colors.

In addition to the identified biological benefits, organic designs canbe forgiving and capable at disguising seam or joints between tiles orpieces of a modular floor covering system. Customers and manufacturersseeking to camouflage seams or joints in a modular floor covering systemmay find organic patterns or designs for the modular floor coveringsystem advantageous. However, organic designs, which are based onconfigurations or relationships occurring in nature, are often chaotic,inconsistent, random and not effortlessly replicated. It can bedifficult to incorporate organic designs into or with modular floorcovering systems because the tiles or pieces of the modular floorcovering system are inherently inorganic. This is because the tile orpieces that make up a modular floor covering system are generallymanufactured in common, consistent and easily replicated geometricshapes, such as squares or rectangles. Unlike organic designs andconfigurations occurring in nature, the tiles or pieces of the modularfloor covering system are generally manufactured such that the physicalcharacteristics (e.g., dimensions) of each are identical. Organicdesigns can provide an innovative modular floor covering product thatallows interior and other designers to create unique design layouts thatcannot be realized using standard geometric or mathematical shapes anddesigns.

As such, systems and methods for providing designers and manufacturerswith the ability to create modular floor covering systems, pieces ortiles with features incorporating biophilic, organic or natural designelements that can be incorporated into standard geometric floor coveringtiles or pieces (e.g., square or rectangular floor covering tiles orpieces) and/or that can repeat from tile-to-tile are advantageous withregard to the installation and use of modular flooring systems.

Example aspects of the present disclosure are directed to systems andmethods for generating textiles with repeating patterns such as floorcoverings. In some embodiments Voronoi diagrams are utilized to generatetextiles, such as floor coverings. Voronoi diagrams provide designerswith greater flexibility and ease with which to create organic ornatural designs. More specifically, because a Voronoi pattern mirrorsnature's tendencies for organization and position, Voronoi diagrams canbe used to create patterns or designs with textiles, such as floorcoverings, which appear to be based upon, resemble or mimic natural ororganic patterns or designs. However, since a Voronoi diagram is basedon mathematical technologies, the systems and methods of the presentdisclosure provide designers or users with the ability to create uniqueor individual designs for textiles, including modular floor coverings,that tile or repeat and which result in an innovative modular productwith an organic design that is comparable with geometries occurring asexpected in nature.

Example aspects of the present disclosure are directed to a computingsystem providing a user interface for efficient generation of textiles,such as floor coverings. In some embodiments, the computing systems andmethods of the present disclosure provide capabilities for users todesign floor coverings with an organic pattern or design that iscomparable with those occurring as expected in nature with fewer inputsto the computing system. More particularly, the computing system canhave one or more computing devices and a user interface presented as adisplay device (e.g., a computer monitor, television, LCD display, LEDdisplay, touchscreen, etc.). The computing system can include at leastone user input element (e.g., a keyboard, computer mouse, touchpad,graphics tablet, joystick, microphone, camera, stylus, remote, camera orany other known device) associated with receiving user input or commandsA designer or other user (e.g., architect, artist, engineer, etc.) caninteract with the user input element (e.g., through a touch or voiceinteraction) to cause the computing system to perform operationsassociated with generating textiles, textile designs, floor coveringsand floor covering designs.

In some embodiments the display device can present a user interface. Theuser interface can be associated with the user providing commands to orthe user communicating with the computing system. A user can interact(e.g., provide commands or user inputs) with the user interface element(e.g., through a touch interaction or by selecting the user interfaceelement with a computer mouse) to cause the computing system to performoperations associated with generating floor coverings and floor coveringdesigns.

In some embodiments, the computing system can be configured to receive,via the user interface, commands from or to communicate with the user toperform certain operations. The operations can include generating ordisplaying, on the display device, sites or seed points in a graphicarea. The graphic area can be shown on the display device. The size ofthe graphic area can correspond to or be based, at least in part, on thesize and resolution of the display device. The seed points can bepositioned in the graphic area by the computing system. The position ofthe seed points can be based on preset preferences or based uponindividual or a series of user inputs or commands For instance, adefault or predetermined number of seed points can be randomly placed inthe graphic area or a user can specify the number of seed points to bedistributed randomly in the graphic area.

The seed points can be utilized by the computing system to create aVoronoi diagram. The Voronoi diagram can be created by the computingsystem when the computing system determines the distances between theseed points in the graphic area. After determining the distances betweenthe seed points, the computing system partitions the graphic area intoregions based on the distance between seed points in the graphic area.More specifically, the cell line or point at which the computing systemforms a cell partition or cell boundary is the location that is half waybetween two seed points. These cell lines intersect with one another andform a plurality of cells. Each resulting cell is a region of thegraphic area that corresponds to a particular seed and the regionconsists of all points in the graphic area that are closer to thatparticular seed than to any other seed. The Voronoi diagram can bepresented in the user interface on the display device.

In some embodiments, seed points can be added or relocated during thedesign process through a user interaction with or input through a userinterface element. In response to a user interaction or user input, thecomputing system will determine the distances between the new orrelocated seed points, partition the graphic area into regions based onthe distance between the new or relocated seed points and adjust thecell lines such that the cell lines remain at locations that are halfway between seed points. In this way, the designer or other user candirect, modify and/or create unique Voronoi diagrams and floor coveringdesigns based thereon, using a simple interaction with a user interface.

In some embodiments, the user interface can include one or moreinterface elements. For example, the user interface can include adrawing user interface element located in a portion of the userinterface (e.g., an upper left portion of the user interface). Thedrawing user interface element can include graphic or other indicia withthe text “Draw.” In response to a user interaction with the drawing userinterface element, certain operations can be performed by the computingsystem. For instance, seed points can be added to the Voronoi diagramduring the design process to allow a designer or user to achieve aspecific cell design, shape or placement. The user can insert a line,curve or other shape along which seed points can be aligned or added tothe Voronoi diagram. For instance, a user can utilize the drawing userinterface element to draw, specify or otherwise identify a line uponwhich seed points can be placed or added. The user can also specify thenumber of seed points to be added along this line and the spacing forsaid seed points. In response to these user inputs, the computing systemcan perform certain operations to add the specified number of seedpoints along the user defined line and thereafter, propagate cells andgenerate a Voronoi diagram based upon the newly added or adjusted seedpoints. In this way, the designer or other user can direct, modify orcreate unique Voronoi diagrams and textile and floor covering designsbased thereon, using a simple interaction with the user interface.

In some embodiments, the user interface can include one or more userinterface elements located in a portion of the user interface whichallow the user to define, draw or insert user defined or createdelements, designs or shapes in the Voronoi diagram. For example, theuser can define, draw or insert lines, curves or other shapes in or tothe Voronoi diagram.

In some embodiments, the user interface can include a seed point editinguser interface element located in a portion of the user interface (e.g.,a middle left portion of the user interface). The seed point editinguser interface element can include a graphic or other indicia with thetext “Edit Seed Position.” In response to a user interaction with theseed point editing user interface element, the seed points in theVoronoi diagram appearing in the graphic display can be controlled,modified or edited. For instance, seed points can be added, moved orremoved from the graphic display. In this way, the designer or otheruser can direct, modify and/or create unique Voronoi diagrams andtextile designs or floor covering designs based thereon, using a simpleinteraction with the user interface.

As another example, the user interface can include a motif userinterface element located in a portion of the user interface (e.g., anupper right portion of the user interface). The motif user interfaceelement can include a graphic or other indicia with the text “Motif.” Amotif can be a design, pattern, shape, graphic, color, picture, text,shape or figure. The motif interface element can be associated withuploading or placing one or more motifs in one or more user selectedlocations in the design area. Motifs can be uploaded to the computingsystem through the user interface or one of the interface elements andstored in the memory of the computing system. Through the user interfaceand motif user interface element, one or more motifs can be selected andplaced in the design area based upon one or more characteristics of thecells or based upon one or more characteristics of the Voronoi diagram.For example, the motif can be placed in the design area based upon theboundaries of each of the cells, the center point of the cells (i.e.,the seed locations), the vertices of the cells, the size of the cells ororientation of the cells. Additionally, the motif user interface elementcan be associated with one or more characteristics of the one or moremotifs, such as size and orientation. Through the motif user interfaceelement, the user can select and modify the characteristics of themotifs, such as size and orientation. Though the user interface element,one or more motifs can be selected and placed in the design area basedupon one or more characteristics of the motif. For example, the motifcan be placed in the design area based upon the size and orientation ofthe motif. The motif can also be placed in the design area based uponone or more characteristics of both the motif and the cell, such as thesize and orientation of the motif as compared to the size andorientation of the cell. Additionally, the motif can be placed in thedesign area and mapped or oriented to or within a cell based at least inpart as to whether or how a user defined alignment shape can be situatedor located within a cell. This alignment shape can be nearly any userdefined shape. For example, a user can define an alignment shape that iscircular or rectangular. The alignment shape is then inserted or placedwithin each cell in the design area by the computing system. Computingsystem will perform operations to determine the orientation of thealignment shape such that the alignment shape of the largest dimensionsis generated and placed within each cell, based at least in part on theboundaries of each cell. For instance, if the alignment shape is arectangle, the computing system will determine the largest boundariesand dimensions of a rectangle that can be placed within each cell andinsert said rectangular alignment shape into each cell. Thereafter, eachmotif can be placed and oriented within the design area based at leastin part on the boundaries and orientation of the alignment shape. Forinstance, the computing system can perform operations to determine theorientation and size of the motif which can be placed within therectangular alignment shape that is contained within a cell and thecomputing system can perform operations to insert, place, orient andsize the motif such that each motif is contained within the boundariesof the rectangular alignment shape.

A user can interact with the interface elements, for instance, bytouching, clicking with a computer mouse or pressing the interfaceelement. In response to the simultaneous interaction with both interfaceelements, the computing system can place a motif in the graphic area andset the orientation of the motif. In this way, the number of userinteractions required with a user interface can be reduced when creatingtextile designs or floor coverings.

The system and methods described herein may provide a number oftechnical effects and benefits. For instance, in some implementations, auser interface according to example aspects of the present disclosurecan allow for a user to control, manipulate or create unique orindividual designs for modular floor coverings in a design area and thedesign area can then be tiled, mirrored or repeated. This will allow auser to create floor covering design in a design area, which can be onlya portion of the entire floorplan or area in which the floor coveringwill be installed. This allows for a design to be created by a user in acomparatively limited area of the floorplan and have that designrepeated or tiled throughout the rest of the floorplan, rather thanrequiring the user to create a unique design for the entire floorplan.This can preserve processing and/or memory resources dedicated toreceiving user input and for producing, displaying or creating modularflooring covering designs by reducing the number of user inputs or otherparameters required to control, manipulate or create unique orindividual designs for modular floor coverings. In addition, repeatingor tiling a floor covering design based upon a design area according toexample aspects of the present disclosure may help prevent errors inmanufacturing and installation of modular floor coverings.

Systems and methods of the present disclosure can provide an improvementto textile design and floor covering computing technology. For instance,systems and methods can provide for designing, modifying and/or creatingunique Voronoi diagrams and textile designs or floor covering designsbased thereon, using a simple interaction with a user interface. Thiscan facilitate producing, displaying or creating textiles or modularflooring covering with repeating or tiling designs which can reduceerrors in manufacturing and installation of modular floor coverings.Providing the ability of a user to control, manipulate or create uniqueor individual designs for textiles or modular floor coverings that tileor repeat under certain conditions with a simple user interaction withan interface element can preserve processing and storage resources ofthe computing system. These processing and storage resources can bepreserved for other functions of the system.

Referring now to the figures, example aspects of the present disclosurewill be discussed in greater detail.

FIG. 1 depicts an example two-dimensional Voronoi diagram. As shown inFIG. 1, the Voronoi diagram can include a set of points or seeds (105 a,105 b and 105 c). Between each seed there exist edges (115 a, 115 b and115 c). Each edge is a perpendicular bisector of a line segment thatwould join its corresponding points or seeds. For example, edge 115 a isa perpendicular bisector for the line segment that joins seeds 105 a and105 b; edge 115 c is the perpendicular bisector for seeds 105 a and 105c; edge 115 b is the perpendicular bisector between seeds 105 b and 105c.

As seen in FIG. 1, the Voronoi diagram also has vertices (110 a, 110 band 110 c). These vertices represent a point that is equidistant fromthree points. In that regard an edge can be seen disappearing at avertex, or, alternatively two edges can be seen as coming together toform a vertex. The edges and vertices define polygons (120 a, 120 b and120 c), with each polygon containing its corresponding seed. In thatregard, a polygon (120 a, 120 b and 120 c) is considered the Voronoiregion for its corresponding seed.

FIG. 2 depicts a flow diagram of an example method 200 for generatingfloor coverings utilizing Voronoi diagrams according to exampleembodiments of the present disclosure. Method 200 can be performed byone or more systems, such as system 1000, or by separate computingdevices. FIG. 2 depicts steps performed in a particular order forpurposes of illustration and discussion. Those of ordinary skill in theart, using the disclosure provided herein, will understand that themethod discussed herein can be adapted.

At (210) the method includes generating a plurality of seed points in agraphic area. The seed points are utilized to create a Voronoi diagram.The seed points are placed in a graphic area based on preset preferencesor based upon user inputs. For instance, a default or predeterminednumber of seed points can be randomly placed or organized in the graphicarea or a user can identify a specific number of seed points to bedistributed in the graphic area. Seed points can be added during thedesign process to allow a designer or user to achieve a desired designor result. The graphic area represents the entire plane or area which auser is viewing in generating modular floor covering designs.

At (220) the method includes propagating a Voronoi diagram within thegraphic area based upon the seed points. The Voronoi diagram is createdby partitioning the graphic area into regions based on distance to theseed points in a specific subset of the graphic area. For each seedthere is a corresponding region consisting of all points closer to thatseed than to any other. These regions are cells. The Voronoi diagramincludes a plurality of cells. The system user has the ability to moveone or more of the seed points to create a unique cell design andVoronoi diagram. In some embodiments a diagram of Delaunaytriangulations, the geometric duo of a Voronoi diagram, can bepropagated using the seed points as the vertices of a plurality oftriangles. The Voronoi diagram can be provided for display in a userinterface on a display device.

At (230) the method includes receiving a first user input via the userinterface defining a design area. The design area includes a pluralityof boundaries within the graphic area. The plurality of boundariesdefines the shape of the design area. The design area can be defined bythe user or the user can select a fixed geometric shape, such as asquare or rectangle. Each design area is configured such that itcontains a sub-set of the plurality of cells.

At (240) the method includes correlating the design area to a floorcovering tile or piece. In so correlating, the size of the design areais associated with the particular shape and dimensions of a modularfloor covering tile or piece. Any suitable shape or size of coveringtile or piece can be used without deviating from the scope of thepresent disclosure. For example, carpet tiles may be cut into sizes inthe range from 4 inches by 4 inches to 72 inches by 72 inches. Thecarpet tiles may be of the same length and width, thus forming a squareshape. Or, the carpet tiles may have different dimensions such that thewidth and the length are not the same. For example, the carpet tiles maybe a rectangular shape.

At (250) the method includes generating a modular floor covering designby replicating the cells in the design area. The cells that intersectthe boundaries of the design area are fixed such that they appear towrap around the opposite boundary of the design area. In this way, thecells that intersect the boundaries of the design area are replicatedwith identical instances or cells placed at the adjacent sides of thedesign area and the corners of the design area.

FIG. 3A depicts first configuration of a screenshot of an example userinterface 300 for use with the systems and methods for generatingtextiles, such as floor coverings, utilizing Voronoi diagrams disclosedherein. User interface 300 can be presented on a display screen of anysuitable computing device or system part of a personal computer,computer monitor, tablet, smartphone, display with one or moreprocessors or other similar device. User interface 300 can display aplurality of seed points 305 in a graphic area 310. The seed points 305are utilized to create the Voronoi diagram depicted in FIG. 3A and whichis contained in the graphic area 310.

User interface 300 also depicts a design area 315. The design area 315includes a plurality of boundaries 320 within the graphic area. Theplurality of boundaries 320 defines the shape of the design area 315.The design area 315 can be defined by the user or the user can utilize ageometric shape, such as a square or rectangle. Design area 315 isconfigured such that it contains a sub-set of the plurality of cells325.

The cells 325 that intersect the boundaries 320 of the design area 315are fixed such that they appear to wrap around the opposite boundary ofthe design area 315. In this way, the cells 325 that intersect theboundaries 320 of the design area 315 are replicated with identicalinstances or cells 325 placed at the adjacent sides of the design area315 and the corners of the design area 315. For example cell 325 aintersects boundary 320 a. Cell 325 a is replicated as 325 b at boundary320 b which is opposite to boundary 320 a.

User interface 300 can also include one or more user interface elements.User interface 300 includes a design user interface element 330. Thedesign user interface element 330 can include graphic or other indiciawith the text “Design,” “Save” or “Load.” In response to a userinteraction (e.g., through a touch interaction or by selecting the userinterface element with a computer mouse) with the design user interfaceelement, certain operations can be performed by a computing system. Forinstance, data related to the design or Voronoi diagram depicted ordisplayed in the graphic area 310 can be saved to the memory of acomputing system such that it can be used or recalled by the user orcomputing system. Additionally, the user can access data stored in thememory of the computing system or other computer readable media relatedto a design or Voronoi diagram to be depicted or displayed in thegraphic area 310 of user interface 300.

User interface 300 includes a drawing user interface element 335. Thedrawing user interface element 335 includes graphic or other indiciawith the text “Draw,” “Line,” “Seed,” and “Curve.” In response to a userinteraction (e.g., through a touch interaction or by selecting the userinterface element with a computer mouse) with the drawing user interfaceelement 335, certain operations can be performed by a computing system.

FIG. 3B depicts second configuration of a screenshot of an example userinterface 301 for use with the systems and methods for generatingtextiles, such as floor coverings, utilizing Voronoi diagrams disclosedherein. User interface 301 can be presented on a display screen of anysuitable computing device or system part of a personal computer,computer monitor, tablet, smartphone, display with one or moreprocessors or other similar device. User interface 301 can display aplurality of seed points 305 in a graphic area 310. The seed points 305are utilized to create the Voronoi diagram depicted in FIG. 3B and whichis contained in the graphic area 310.

User interface 301 includes a drawing user interface element 335. Thedrawing user interface element 335 includes graphic or other indiciawith the text “Draw,” “Line,” “Seed,” and “Curve.” In response to a userinteraction (e.g., through a touch interaction or by selecting the userinterface element with a computer mouse) with the drawing user interfaceelement 335, certain operations can be performed by a computing system.For instance, a user interaction with the graphic indicia containing thetext “Seed” 335 a included with the drawing user interface element 335,can cause the computing system to perform operations including addingone or more seed points 305 to the Voronoi diagram at a location in thedesign area 315 that is selected by a user. For example, a straight line340 can be drawn or generated by the computing system between two ormore user defined locations, such as locations 341 and 342, in thedesign area 315 in response to a user interaction with the graphicindicia containing the text “Line” included with the drawing userinterface element 335. A user can utilize the drawing user interfaceelement 335 to draw, specify or otherwise identify a straight line 340upon which seed points 305 can be placed, moved or adjusted. If the userdesires to adjust or move existing seed points 305 such that they areplaced along the user defined straight line 340 defined following a userinteraction with the graphic indicia containing the text “Line” includedwith the drawing user interface element 335, the computing system canperform operations, including determining the cells 325 through whichthe straight line 340 passes and move or adjust the seed points 305associated with said cells 325 such that they are placed along the userinserted or defined straight line 340. The user can also specify anumber of seed points 305 to be added along the straight line 340defined following a user interaction with the graphic indicia containingthe text “Seed Spacing” 350 included with the drawing user interfaceelement 335. In response to these inputs, the computing system canperform operations that include adding the user specified number of seedpoints along the user defined line 340 and thereafter, propagateadditional cells 325 and in so doing generate a Voronoi diagram basedupon the newly added, adjusted or moved seed points 305. In this way,the user can direct, modify or create unique Voronoi diagrams andtextile designs or floor covering designs based thereon, using a simpleinteraction with the drawing user interface element 335 and the userinterface 300.

A curved line can also be drawn or generated by the computing systembetween two or more user defined locations in the graphic area inresponse to a user interaction with the graphic indicia containing thetext “Curve” 335 b included with the drawing user interface element 335.A user can utilize the drawing user interface element 335 to draw,specify or otherwise identify a curved line upon which seed points 305can be placed, moved or adjusted. If the user desires to adjust or moveexisting seed points 305 such that they are placed along the userdefined curved line defined following a user interaction with thegraphic indicia containing the text “Curve” 335 b included with thedrawing user interface element 335, the computing system can performoperations, including determining the cells 325 through which the curvedline passes and move or adjust the seed points 305 associated with saidcells 325 such that they are placed along the user inserted or definedcurved line. The user can also specify a number of seed points 305 to beadded along the curved line defined following a user interaction withthe graphic indicia containing the text “Curve” 335 b included with thedrawing user interface element 335. In response to these inputs, thecomputing system can perform operations that include adding the userspecified number of seed points along the user defined line andthereafter, propagate additional cells 325 and in that way generate aVoronoi diagram based upon the newly added, adjusted or moved seedpoints 305. In this way, the user can direct, modify or create uniqueVoronoi diagrams and textile or floor covering designs based thereon,using a simple interaction with the drawing user interface element 335and the user interface 300.

Other geometric shapes (e.g., triangles, rectangles, trapezoid, convexoctagon, concave pentagon, etc.) can be drawn or generated by thecomputing system at one or more user defined locations in the designarea 315 in response to a user interaction with the drawing userinterface element 335. A user can utilize the drawing user interfaceelement 335 to draw, specify or otherwise identify a geometric shape,the boundaries of which define locations at which seed points 305 can beplaced, moved or adjusted. If the user desires to adjust or moveexisting seed points 305 such that they are placed along the userdefined geometric shape defined following a user interaction with thedrawing user interface element 335, the computing system can performoperations, including determining the cells 325 through which theboundaries of the geometric shape passes and move or adjust the seedpoints 305 associated with said cells 325 such that they are placedalong the boundaries of the user inserted or defined geometric shape.The user can also specify a number of seed points 305 to be added alongthe boundaries of the user defined geometric shape following a userinteraction with the drawing user interface element 335. In response tothese inputs, the computing system can perform operations that includeadding the user specified number of seed points along the boundaries ofthe user defined geometric shape and thereafter, propagate additionalcells 325 and in that way generate a Voronoi diagram based upon thenewly added, adjusted or moved seed points 305. In this way, the usercan direct, modify or create unique Voronoi diagrams and textile orfloor covering designs based thereon, using a simple interaction withthe drawing user interface element 335 and the user interface 300.

In response to a user interaction (e.g., through a touch interaction orby selecting the user interface element with a computer mouse) with thedrawing user interface element 335, certain additional operations can beperformed by a computing system. For instance, a user interaction withthe graphic indicia containing the text “Freestyle” 335 c included withthe drawing user interface element 335 can permit a user to add seedpoints 305 in real-time based on and simultaneously with a userinteraction in the design area 315.

For example, a user can specify the spacing between each seed point 305to be added in real-time based on a user interaction in the design area315. Seed spacing can be a user identified amount or unit of measure.The user specified seed spacing can be a scale or be proportional to thesize or dimensions of the graphic area 310 or design area 315. Forexample, the seed spacing can be based on any unit of measure and cancorrespond to the unit of measure or scale that is represented by orapplied to the design area 315. For instance if the dimensions of thedesign area 315 are represented or shown in inches, the user can specifythe seed spacing by interacting with the graphic indicia containing thetext “Seed Spacing” 350 and set the seed spacing in a unit of measure,such as inches. For example, the “Seed Spacing” 350 can be set to unitof measure of every twenty (20) inches as shown in graphic indicia 350a.

After identifying the seed spacing at graphic indicia 350 or 350 a, auser can utilize the graphic indicia containing the text “Freestyle” tocause the computing system to perform operations that including addingseed points 305 in real-time and at user specified locations in thedesign area 315 in response to a user interaction (e.g., through a touchinteraction or by selecting the user interface element with a computermouse) with the design area 315. For example, a user interaction can bethe user moving the cursor associated with a computer mouse in thedesign area 315 in any shape or direction. In response to the usermovement of the cursor, the computing system performs operations toinclude adding a seed point 305 in the design area 315 based upon theuser defined see spacing parameter 350 a identified at graphic indicia350. In this way, the user can add seeds based on fewer user inputs andin real time with or simultaneous to a user input (e.g., the usermovement of the cursor in the design area 315).

In this way, the user can direct, modify or create unique Voronoidiagrams and textile or floor covering designs based thereon, using asimple interaction with the drawing user interface element 335 and theuser interface 300. Additionally, in this way the computing systems andmethods of the present disclosure provide capabilities for users todesign textiles or floor coverings with an organic pattern or designthat is comparable with those occurring as expected in nature with fewerinputs to the computing system.

FIG. 4 depicts a screenshot of an example user interface 400 for usewith the systems and methods for generating textiles, such as floorcoverings, utilizing Voronoi diagrams disclosed herein. User interface400 includes seed points 405 utilized to create a Voronoi diagram with aplurality of cells 425 and which are contained in graphic area 410. Userinterface 400 also depicts a design area 415. Design area 415 includes aplurality of boundaries 420. The boundaries 420 define the shape of thedesign area 415. Each design area is configured such that it contains asub-set of the plurality of cells 425.

User interface 400 can also include one or more user interface elements.User interface 400 includes a motif user interface element 440 locatedin a portion of the user interface (e.g., an upper right portion of theuser interface). The motif user interface element 440 can include agraphic or other indicia with the text “Motif.” The motif interfaceelement 440 can be associated with uploading or placing one or moremotifs 430 in one or more user selected locations in the design area415. Motifs 430 can be uploaded to the computing system and stored inthe memory of the computing system. Through motif user interface element440, one or more motifs can be selected and placed in the design area415 based on or with respect to certain parameters or characteristics ofthe cells 425. For example, the motifs 430 can be placed with respect tothe location of the vertices 460 of the cells 425. Motifs 430 can alsobe placed such that motif 430 is entirely within the boundaries of acell 425. Motifs 430 can be uploaded by a user to a computing system,such as system 1000, and stored in the memory of the computing system.

Motifs 430 can be placed in the design area 415 based upon the size andorientation of the motifs 430. Motifs 430 can also be placed in thedesign area based upon one or more characteristics of both the motif 430and the cells 425, such as the size and orientation of the motif 430 ascompared to the size and orientation of the cell 425. Additionally, themotif 430 can be placed in the design area and mapped or oriented to orwithin a cell 425 based, at least in part, on whether or how a userdefined alignment shape 460 can be situated or located within a cell425. This alignment shape 460 can be virtually any user defined shape.For example, a user can define an alignment shape 460 that is circular(as shown in FIG. 4) or rectangular. The alignment shape 460 can beinserted or placed within certain cells 425 in the design area 415 bythe computing system or as selected by the user. Computing system willperform operations to determine the orientation and placement of thealignment shape 460 in the cell 425 such that the alignment shape 460has certain characteristics based at least in part on the boundaries 461of each cell. For instance, if the alignment shape 460 is a circle (asshown in FIG. 4), the computing system can determine the largestcircular alignment shape 460 that can be placed within a cell 425 andinsert said circular alignment shape 460 into a cell 425 such that thecircular alignment shape is contained within the boundaries of the cell425, such as boundaries 461. Each motif 430 can be placed and orientedwithin the design area 415 based at least in part on the alignment shape460. For instance, the computing system can perform operations todetermine the orientation and size of the motif 430 which can be placedwithin the circular alignment shape 460 that is contained within a cell425 and the computing system can perform operations to insert, place,orient and size or scale the motif 430 such that each motif 430 iscontained within the boundaries of the circular alignment shape 460.

In some embodiments, a user can select and modify the characteristics ofthe motifs 430, such as size, orientation, color and precise placementwith respect to the cells 425. For example, in response to a userinteraction with a first graphic indicia 430 a in the motif userinterface element 440, the user can select and modify the size of themotif 430. In response to a user interaction with a second graphicindicia 430 b in the motif user interface element 440, the user canselect and modify the orientation characteristics of the motif 430. Theorientation of the motifs 430 can be randomly determined by thecomputing system or defined by the user based on one or more userinputs. All of the motifs 430 shown in graphic display 410 may beoriented in the same direction based on a user input or the user canselect certain motifs 430, based on size, location or other parameters,to which a certain orientation (e.g., turned right, left, up or down)will apply.

User interface 400 also includes a display user interface element 450located in a portion of the user interface (e.g., a lower right portionof the user interface). The display user interface element 450 caninclude a graphic or other indicia with the text “Display Control” or“Show.” The display user interface element 450 can be associated withdisplaying one or more items in the graphic area 410. For example, inresponse to a user interaction with a third graphic indicia 450 a theuser can determine whether the motif 430 is or is not displayed ingraphic area 410. In response to a user interaction with a fourthgraphic indicia 450 b the user can determine whether the boundaries 420of the design area 415 are or are not displayed in graphic area 410. Inresponse to a user interaction with a fifth graphic indicia 450 c theuser can determine whether the cells 425 and their associated boundariesare or are not displayed in graphic area 410. In response to a userinteraction with a sixth graphic indicia 450 d the user can determinewhether the seeds 405 are or are not displayed in graphic area 410.

FIG. 5 depicts a screenshot of an example user interface 500 for usewith the systems and methods for generating textiles, such as floorcoverings, utilizing Voronoi diagrams disclosed herein. User interface500 can also include one or more user interface elements. User interface500 includes a seed point editing user interface element 540. The seedpoint editing user interface element 540 includes graphic or otherindicia with the text “Seeds” or “Edit Seed Position.” In response to auser interaction with the seed point editing user interface element 540,seed points located in the design area 515, such as seed points 505, ofthe Voronoi diagram appearing in the graphic display 510 can becontrolled, modified or edited. In response to a user interaction with afirst graphic indicia 540 a in seed point editing user interface element540, user selected seed points in the graphic display can be moved toone or more user selected locations in the graphic display 510. Inresponse to a user interaction with a second graphic indicia 540 b inseed point editing user interface element 540, user selected seed pointsin the graphic display can be removed or deleted from design area 515.In response to a user interaction with a third graphic indicia 540 c inseed point editing user interface element 540, user selected vertex of acell, such as vertex 560, can be moved to a user selected location inthe graphic display 510. In response to a user interaction with a fifthgraphic indicia 540 d in seed point editing user interface element 540,the boundary cells 550 that intersect the boundaries 520 defining thedesign area 515 can be locked such that the computing system preventsuser inputs from modifying, editing or changing the boundary cells 550in the graphic display.

FIG. 6 depicts a screenshot of an example user interface 600 for usewith the systems and methods for generating textiles, such as floorcoverings, utilizing Voronoi diagrams disclosed herein. User interface600 can also include one or more user interface elements. User interface600 depicts another configuration of a motif user interface element 640located in a portion of the user interface (e.g., an upper right portionof the user interface). The motif user interface element 640 can includea graphic or other indicia with the text “Motif.” The motif interfaceelement 640 can be associated with uploading or placing one or moremotifs 630 in one or more user selected locations in the design area615. Motifs 630 can be uploaded to the computing system and stored inthe memory of the computing system. Through motif user interface element640, one or more motifs can be selected and placed in the design area615 based on or with respect to certain parameters of the cells 625. Forexample, the motifs 630 can be placed with respect to the vertices 660of the cells 625. In the example depicted in FIG. 6, the motif 630 areplaced with respect to the vertices 660 (i.e., where the center point ofthe motif 660 is placed on the user selected vertex 660). Motifs 630 canalso be placed such that the motif 630 is entirely within the boundariesof a cell 625. Motifs 630 can be uploaded by a user to a computingsystem, such as system 1000, and stored in the memory of the computingsystem.

In response to a user interaction with a plurality of graphic indicia630 a in the motif user interface element 640, the user can select andmodify the orientation characteristics of the motifs 630. For example,the orientation can be random or randomized within a user defined anglerange (e.g., randomly oriented within an angle of 90 degrees). Theorientation of the motifs 630 can also be set based on a user selectedor defined orientation point 650 located within the design area 615. Forinstance, all of the motifs 630 can be oriented towards or away from theorientation point 650. Also, all of the motifs 630 can be oriented inany particular direction (e.g., up, down, left or right).

FIG. 7 depicts a screenshot of an example user interface 700 for usewith the systems and methods for generating textiles, such as floorcoverings, utilizing Voronoi diagrams disclosed herein. User interface700 can also include one or more user interface elements. User interface700 depicts a configuration of a motif user interface element 740located in a portion of the user interface (e.g., an upper right portionof the user interface). The motif user interface element 740 can includea graphic or other indicia with the text “Motif.” The motif interfaceelement 740 can be associated with uploading or placing one or moremotifs 730 in one or more user selected locations in the design area715. In response to a user interaction with a plurality of graphicindicia 740 a in the motif user interface element 740, the user canselect certain cell lines or cell boundaries 750 and replace the celllines or boundaries 750 with the motif 730. For example, the cell lines750 that are replaced with the motif 730 can be user selected or definedor can include all cell lines that have a certain length, have a lengththat is within a user defined range or are oriented in a certaindirection (e.g., near horizontal or near vertical) or are within a userdefined range or a certain direction (e.g., within 10 degrees ofhorizontal). The length of the cell lines 750 that are replaced by themotif 730 can be within a predetermined range or a range defined by theuser. For instance, the user can select a minimum length and maximumlength for the cell lines 750 to define a range at graphic indicia 740b. The computing system will determine which cell lines are within theuser defined range and replace all cell lines 750 within the range withmotif 730.

FIG. 8 depicts a screenshot of an example user interface 800 for usewith the systems and methods for generating textiles, such as floorcoverings, utilizing Voronoi diagrams disclosed herein. User interface800 can also include one or more user interface elements. User interface800 depicts a configuration of a motif user interface element 840located in a portion of the user interface (e.g., an upper right portionof the user interface). The motif user interface element 840 can includea graphic or other indicia with the text “Motif.” The motif interfaceelement 840 can be associated with one or more motifs 830, which can becertain characteristics such as a color, line weight or line type.

User interface 800 can also include a cell boundary or line userinterface element 840 a including graphic or other indicia with the text“Manual,” “Length,” “Horizontal,” and “Vertical.” In response to a userinteraction with the line user interface element 840 a, certainoperations can be performed by the computing system. For instance, theuser can select certain cell lines 850 to be displayed in the designarea 815 based, at least in part, on certain characteristics of the celllines 850, such as color, orientation (e.g., near vertical or nearhorizontal) and length. For example, the cell lines 850 that are shownin design area 815 can be user selected (e.g., in response to a userinteraction with the portion of the line user interface element 840 aincluding graphic or other indicia with the text “Manual”) or caninclude all cell lines that have a certain length (e.g., in response toa user interaction with the portion of the user interface element 840 aincluding graphic or other indicia with the text “Length”) or areoriented in a certain direction (e.g., near horizontal or near verticalin response to a user interaction with the portion of the user interfaceelement 840 a including graphic or other indicia with the text “Vert.”or “Horiz.”). The length of the cell lines 850 that are to be displayedin design area 815 can be within a predetermined range or a rangedefined by the user. For instance, the user can select a minimum lengthand maximum length for the cell lines 850 and define a range at graphicindicia 840 b. The computing system will determine which cell lines arewithin the user defined range and display only cell lines 850 within therange in design area 815.

FIG. 9 depicts a screenshot of an example user interface 900 for usewith the systems and methods for generating floor coverings utilizingVoronoi diagrams disclosed herein. User interface 900 can also includeone or more user interface elements. User interface 900 includes a seedpoint editing user interface element 940. The seed point editing userinterface element 940 includes graphic or other indicia with the text“Seeds.” In response to a user interaction with the seed point editinguser interface element 940, seed points located in the design area 915,such as seed points 905, of the Voronoi diagram appearing in the graphicdisplay 910 can be controlled, modified or edited. In response to a userinteraction with a first graphic indicia 940 a in seed point editinguser interface element 940, seed points 905 in the graphic display canbe moved to or placed based on an alignment circle 960. In response to auser interaction with a first graphic indicia 940 a, an alignment circle960 can be generated by the computing system and displayed in the designarea 915 based upon a user input which defines the location and size ofthe alignment circle 960. For instance, the location and size of thealignment circle 960 can be user selected and can be created by thecomputing system in response to user interactions with the userinterface 900, for instance, by touching, clicking with a computer mouseor pressing the interface element.

In response to a user interaction with a second graphic indicia 940 b inseed point editing user interface element 940, the user can define thenumber of seed points to be placed along the alignment circle 960. Forexample, the user can define the number of seed points to be placedalong alignment circle 960 through a user interaction with a thirdgraphic indicia 940 c in seed point editing user interface element 940.In response to a user interaction, the computing system canautomatically and evenly place the number of seed points 905, such asseed points 905 a, along the alignment circle 960 as defined by the userthrough the third graphic indicia 940 c. The user may also manuallyselect the locations along the alignment circle 960 to place the seedpoints 905 by interacting with the user interface 900, for instance, bytouching, clicking with a computer mouse or pressing the interfaceelement at the locations along the alignment circle 960 where the userdesires to add place the seed points 905. In response to these inputs,the computing system can perform operations that include adding the userspecified seed points along or based on the alignment circle 960 andthereafter, propagate additional cells 925 or modify the shape ofexisting cells 925 and generate a Voronoi diagram based upon the newlyadded, adjusted or moved seed points (905 and 905 a). In this way, theuser can direct, modify or create unique Voronoi diagrams and floorcovering designs based thereon, using a simple interaction with the seedpoint editing user interface element 940 and the user interface 900.

FIG. 10 depicts a screenshot of an example user interface 990 forsystems and methods for generating textiles with repeating patternsutilizing Delaunay triangles 991 disclosed herein. A Delaunay triangle991 is the geometric dual of a Voronoi diagram and can also be formedfrom the seeds 992. A Delaunay triangle 991 is formed when seeds 992 ornucleation points (which are the center points of the cells that form aVoronoi diagram) become vertices that form one or more triangles withinthe given area or plane. Delaunay triangles 991 are formed by threeboundaries, such as boundaries 993, which extend between three vertices992.

User interface 990 can be presented on a display screen of any suitablecomputing device or system part of a personal computer, computermonitor, tablet, smartphone, display with one or more processors orother similar device. User interface 990 can display a plurality of seedpoints 992 in a graphic area 994. The seed points 992 are utilized tocreate the Delaunay triangle diagram depicted in FIG. 10 and which iscontained in the graphic area 994.

User interface 990 can also include one or more user interface elements.User interface 990 includes a design user interface element 995. Thedesign user interface element 995 can include graphic or other indiciawith the text “Design,” “Save” or “Load.” In response to a userinteraction (e.g., through a touch interaction or by selecting the userinterface element with a computer mouse) with the design user interfaceelement, certain operations can be performed by a computing system. Forinstance, data related to the design or Delaunay triangle diagramdepicted or displayed in the graphic area 994 can be saved to the memoryof a computing system such that it can be used or recalled by the useror computing system. Additionally, the user can access data stored inthe memory of the computing system or other computer readable mediarelated to a design or Delaunay triangle diagram to be depicted ordisplayed in the graphic area 994 of user interface 990.

User interface 990 includes a drawing user interface element 996. Thedrawing user interface element 995 includes graphic or other indiciawith the text “Draw,” “Line,” “Seed,” and “Curve.” In response to a userinteraction (e.g., through a touch interaction or by selecting the userinterface element with a computer mouse) with the drawing user interfaceelement 995, certain operations can be performed by a computing system.

User interface 990 also includes a display user interface element 997located in a portion of the user interface (e.g., a lower right portionof the user interface). The display user interface element 997 caninclude a graphic or other indicia with the text “Display Control” or“Show.” The display user interface element 997 can be associated withdisplaying one or more items in the graphic area 994. For example, inresponse to a user interaction with a Delaunay triangle graphic indicia998 the user can determine whether the Delaunay triangles 991 are or arenot displayed in graphic area 994.

Those of ordinary skill will appreciate that the user interface 990 canalso be used to cause the computing system to perform operations withregard to the characteristics of the Delaunay triangles 991 in the samemanner as can be performed by the computing system with regard to aVoronoi diagram as described in FIGS. 3A, 3B, 4, 5, 6, 7, 8 and 9.

FIG. 11 depicts an example system 1000 according to example embodimentsof the present disclosure. System 1000 can be implemented using anysuitable computing device(s) 108. The computing device(s) 108 caninclude one or more processors 1082 and one or more memory devices 1084.The one or more processors 1082 can include any suitable processingdevice, such as a microprocessor, microcontroller, integrated circuit,an application specific integrated circuit (ASIC), a digital signalprocessor (DSP), a field-programmable gate array (FPGA), logic device,one or more central processing units (CPUs), graphics processing units(GPUs), processing units performing other specialized calculations, etc.

The one or more memory devices 1084 can include one or morecomputer-readable media, including, but not limited to, non-transitorycomputer-readable media, RAM, ROM, hard drives, flash drives, or othermemory devices. The one or more memory devices 1084 can storeinformation accessible by the one or more processors 1082, includingcomputer-readable instructions 1086 that can be executed by the one ormore processors 1082. The instructions 1086 can be any set ofinstructions that when executed by the one or more processors 1082,cause the one or more processors 1082 to perform operations. In someembodiments, the instructions 1086 can be executed by the one or moreprocessor(s) 1082 to cause the one or more processor(s) 1082 to performoperations, such as any of the operations and functions for which thecomputing device(s) 108 are configured, the operations for providing aninteractive, user interface, and/or any other operations or functionsfor providing a user interface, receiving user input, and generating aVoronoi diagram, adjusting the size and location of the design area,adjusting the location of the seeds and/or adjusting other aspects ofthe Voronoi diagram, as described herein. The instructions 1086 can besoftware written in any suitable programming language or can beimplemented in hardware. Additionally, and/or alternatively, theinstructions 1086 can be executed in logically and/or virtually separatethreads on processor(s) 1082.

As shown in FIG. 9, the one or more memory devices 1084 can also storedata 1088 that can be retrieved, manipulated, created, or stored by theone or more processors 1082. The data 1088 can include, for instance,data associated with user interfaces, user input, motif data, and/orother data or information. For instance, the data 1088 can includemotif-related information, at least a portion of which may betransmitted to a user interface, such as a personal computer, computermonitor, tablet or other device. For example, data 1088 can includemotifs where each is an organic, natural or other image or design thatcan be used or inserted into one or more Voronoi cells.

The data 1088 can be stored in one or more databases. The one or moredatabases can be connected to the computing device(s) 108 by a highbandwidth LAN or WAN, or can also be connected to computing device(s)108 through network 106. The one or more databases can be split up sothat they are located in multiple locales.

The computing device(s) 108 can also include a network interface 1089used to communicate with one or more other component(s) of the system1000 over the network 106. The network interface 1089 can include anysuitable components for interfacing with one more networks, includingfor example, transmitters, receivers, ports, controllers, antennas, orother suitable components.

The network 106 can be any type of communications network, such as alocal area network (e.g. intranet), wide area network (e.g. Internet),cellular network, or some combination thereof. The network 106 can alsoinclude a direct connection between system 1000 and another device. Ingeneral, communication by and between system 1000 can be carried vianetwork interface using any type of wired and/or wireless connection,using a variety of communication protocols (e.g. TCP/IP, HTTP, SMTP,FTP), encodings or formats (e.g. HTML, XML), and/or protection schemes(e.g. VPN, secure HTTP, SSL).

The technology discussed herein may make reference to servers,databases, software applications, and other computer-based systems, aswell as actions taken and information sent to and from such systems. Oneof ordinary skill in the art will recognize that the inherentflexibility of computer-based systems allows for a great variety ofpossible configurations, combinations, and divisions of tasks andfunctionality between and among components. For instance, serverprocesses discussed herein can be implemented using a single server ormultiple servers working in combination. Databases and applications canbe implemented on a single system or distributed across multiplesystems. Distributed components can operate sequentially or in parallel.

Furthermore, computing tasks discussed herein as being performed at aserver can instead be performed at a user device. Likewise, computingtasks discussed herein as being performed at the user device can insteadbe performed at the server.

Although specific features of various embodiments may be shown in somedrawings and not in others, this is for convenience only. In accordancewith the principles of the present disclosure, any feature of a drawingcan be referenced and/or claimed in combination with any feature of anyother drawing.

This written description uses examples for the disclosure, including thebest mode, and also to enable any person skilled in the art to practicethe disclosure, including making and using any devices or systems andperforming any incorporated methods. The patentable scope of thedisclosure is defined by the claims, and can include other examples thatoccur to those skilled in the art. Such other examples are intended tobe within the scope of the claims if they include structural elementsthat do not differ from the literal language of the claims, or if theyinclude equivalent structural elements with insubstantial differencesfrom the literal languages of the claims.

What is claimed is:
 1. A method for generating designs for textiles, themethod comprising: generating, by one or more computing devices, aplurality of seed points in a graphic area; propagating, by the one ormore computing devices, a Voronoi diagram within the graphic area basedupon the seed points and, wherein the Voronoi diagram includes aplurality of cells; providing, by the one or more computing devices, theVoronoi diagram for display within a user interface; receiving, usingthe one or more computing devices, a first user input via the userinterface, the first user input defining a design area with a pluralityof boundaries within the graphic area, wherein the design area comprisesa sub-set of the plurality of cells; correlating, using the one or morecomputing devices, the design area to a textile segment; and generating,using the one or more computing devices, a textile design, using the oneor more computing devices, by replicating the cells of the design area.2. The method of claim 1, wherein replicating the cells of the designarea is based, at least in part, on the intersection of the cells withone or more boundaries of the design area and the cells located in theportion of the graphic area adjacent to the one or more boundaries. 3.The method of claim 2, further comprising preventing modification of thecells outside of the design area based on one or more third user inputscalling for modifications to be made to cells located outside of thedesign area.
 4. The method of claim 3, further comprising in response toone or more user inputs via a user interface, generating, by the one ormore computing devices, one or more motifs in one or more user selectedcells located in the design area.
 5. The method of claim 4, furthercomprising locating, by the one or more computing devices, the one ormore motifs based on one or more parameters of the user selected cells,said parameters including the cell boundaries, the cell vertices and thecell center.
 6. The method of claim 5, further comprising providing thecells for display to the user.
 7. A system for providing textile designsutilizing Voronoi diagrams, the system comprising: one or moreprocessors; and a machine-readable medium storing computer-readableinstructions, which when executed by the processors, cause theprocessors to perform operations comprising: generating a plurality ofseed points in a graphic area; propagating a Voronoi diagram within thegraphic area based upon the seed points and, wherein the Voronoi diagramincludes a plurality of cells; receiving a first user input via a userinterface defining a design area with a plurality of boundaries withinthe graphic area, wherein the design area comprises a sub-set of theplurality of cells; correlating the design area to a textile segment;and generating a textile design, using the one or more computingdevices, by replicating the cells of the design area.
 8. The system ofclaim 7, the operations further comprising replicating the cells of thedesign area based, at least in part, on the intersection of the cellswith one or more boundaries of the design area and the cells located inthe portion of the graphic area adjacent to the one or more boundaries.9. The system of claim 8, the operations further comprising adjustingthe cells based, at least in part, on a second user input causing therelocation of one or more of the seed points in the design area.
 10. Thesystem of claim 9, the operations further comprising preventingmodification of the cells outside of the design area based on one ormore third user inputs calling for modifications to be made to cellslocated outside of the design area.
 11. The system of claim 10, theoperations further comprising generating one or more motifs in one ormore user selected cells located in the design area.
 12. The system ofclaim 11, the operations further comprising locating the one or moremotifs based on one or more parameters of the user selected cells, saidparameters including the cell boundaries, the cell vertices and the cellcenter.
 13. The system of claim 12, the operations further comprisingproviding the cells for display to the user.
 14. A machine-readablemedium storing computer-readable instructions, which when executed by amachine, cause the machine to perform operations comprising: generating,using the one or more computing devices, a plurality of seed points inthe graphic area; propagating a Voronoi diagram within the graphic areabased upon the seed points and, wherein the Voronoi diagram includes aplurality of cells; providing the Voronoi diagram for display on a userinterface; receiving a user input via the user interface, the user inputdefining a design area with a plurality of boundaries within the graphicarea, wherein the design area corresponds to a floor covering tile; andgenerating a floor covering design by replicating the Voronoi cellscontained in the design area.